In recent years, there has been a dramatic increase in the use of computer networks for sharing information. Although local area networks (LANs) and the Internet have existed for some time, a few simple protocols for data exchange sufficed in these generally homogenous networks. The very rapid increase in the use of the World Wide Web has resulted in the interconnection of large numbers of computer systems. Over time many protocols for data exchange have been developed.
Typically these protocols define a mechanism for packaging data to be transmitted from one computer system to another. A typical protocol defines an envelope or header that is assembled when data is to be transmitted. The envelope may define quality of service information and other information about the transmitting computer system and/or the data. The envelope and data are then assembled into a message and transmitted to the receiving computer system.
Every software component, or client, that transmits data according to the protocol must format the data in accordance with the protocol by generating the envelope in the required format and combining it with the data in a required manner. Typically, this is done by using a protocol handler that assembles the envelope and manages the transmission and reception of envelope and data.
When the protocol is modified, for example, by changing the format of the envelope or by adding or replacing parts of the protocol, the protocol handler must typically be modified. In many cases, the software component using the protocol must also be modified. Such modifications can be time-consuming and costly. For a large company that uses many different software components, each of which must be modified to accommodate changes in a communication protocol, the cost of modifying or purchasing updates for each component can be substantial. When the components use a variety of different protocols, the cost can become overwhelming.
It is preferable to connect computer systems with a connector that allows a data transmission protocol to be modified without requiring modification of the software that uses the protocol. Preferably, the connector is configurable so that it can handle and process data of any format.